/*
	该文件是整个项目的入口文件
*/


// js ，执行按顺序执行  import  语句，在做其它操作
//引入Vue
import Vue from 'vue'
//引入App组件，它是所有组件的父组件
import App from '@/App.vue'

//关闭Vue的生产提示
Vue.config.productionTip = false
import plugins from "@/components/Learn/plugins/plugins.js";
//应用（使用）插件
Vue.use(plugins, "as")

//引入store,在Vuex引入之后
// import store from './components/Examples/vueUse/useVuexSum/store'

import store from './components/Examples/vueUse/vueSumPerson/store/index'

/*
	关于不同版本的Vue：

		1.vue.js与vue.runtime.xxx.js的区别：
				(1).vue.js是完整版的Vue，包含：核心功能+模板解析器。
				(2).vue.runtime.xxx.js是运行版的Vue，只包含：核心功能；没有模板解析器。

		2.因为vue.runtime.xxx.js没有模板解析器，所以不能使用template配置项，需要使用
			render函数接收到的createElement函数去指定具体内容。
*/

/*
const Demo = new Vue({});
const d= new Demo();
Vue.prototype.x = d;

//创建Vue实例对象---vm
new Vue({
    el: '#app',


    /!*    render(creatEle){
            return creatEle('h1', "ooooookk");
        }
        箭头函数
           render:q=> q('h1','你好啊') // render 是个函数，可以用来新建具体元素
        *!/

    //render函数完成了这个功能：将App组件放入容器中

    render: h => h(App),// 传递 组件 为参数，直接渲染组件
    beforeCreate() {
        Vue.prototype.$bus = this //安装全局事件总线
    },
    // template:`<h1>你好啊</h1>`,
    // components:{App},
})
*/


/*
* 供Vue 全局使用
* */
// Window.prototype.x = {a: 1, b: 2}


//创建Vue实例对象---vm
new Vue({
    el: '#app',
    render: h => h(App),// 传递 组件 为参数，直接渲染组件
    store,
    beforeCreate() {
        // 钩子函数 挂载 总线， $bus 总线
        Vue.prototype.$bus = this //安装全局事件总线
    },
})
